SlideShare a Scribd company logo
1 of 28
1 Programming Convention Presenter : Nguyễn Bảo Trung
2 Nội dung Tổngquanvề Programming Convention Mộtsốphongcáchlậptrìnhcũ Đánhgiácácthóiquencũ Cácquytắcviết code của Steve McConnell Lợiíchcủaviệctrìnhbầycẩnthận
3 Tổngquanvề Programming Convention (PC) Viết code nhưthếnào? Cáchviết code cóảnhhưởngđếnkhảnăngtưduyvàhiệusuấtlàmviệckhông? Bài test Bàitập 1 Bàitập 2
4 Tổngquanvề Programming Convention (Continue) Cáchviết code ảnhhưởngrấtlớnđếnkhảnăngtưduyvàhiệusuâtlàmviệc Cầnphảiviết code theokiểugìđểtăngkhảnăngtưduyvàhiệusuấtlàmviệc? Viết code theochuẩn Thêmchúthíchcầnthiết, theochuẩn PC thểhiệnbởicáchviết code và comment PC tốtlàcáchviết code và comment theochuẩn Nếukhôngviếttheochuẩnthìsao?
5 Mộtsốphongcáchlậptrìnhcũ Khôngcóchuẩn Thíchviếtgìthìviếttuỳtheohứng Khôngcómột logic tổngthểtrongcáchtrìnhbàychươngtrình Tựđặtramộtsốquytắcviết Tiếtkiệmdòng Tiếtkiệmcột Lãngphídòng Lãngphícột Đãcóchuẩnnhưngchưathựcsựtốt
6 Đánhgiácácthóiquencũ Dễviết, thuậnmắt (theocảmtính) Khôngnhanhnhưtanghĩ Dễgâynhầmlẫn Luônthừathiếu Begin…End Rấtkhóđọchiểu Cónhiềulỗi do hiệuứngphụ(Side effects) Rấtkhóvàmấtnhiềuthờigianchoviệcsửalỗi
7 Cácquytắcviết code của Steve McConnell Địnhlýcơsởcủađịnhdạng Cơsởlýthuyếtcủađịnhdạnglàcáchtrìnhbầyrõràng, sángsủanổibậtđượccấutrúc logic củachươngtrình Chuẩnmựcchocáchtrìnhbầychươngtrìnhcóhiệuquả Mộtphầnnhỏtronglậptrìnhlàđểmáytínhcóthểđọcđượcnó Phầnlớnhơnlàviếtcácmãlệnhchochươngtrìnhchạyđượctheođúngchứcnăngvàlàmsaođể con ngườicóthểđọcđượcnó
8 Cáckỹnăngtrìnhbầy Dấutrắng (dấucách, dấu Tab, xuốngdòng, dòngtrắng,…) Phânnhóm Dòngtrống Sắpxếpthẳnghàng Thụtvào Sửdụngcácdấungoặcđơn Thêmchúthíchvàochươngtrình
9 Cáckiểutrìnhbầy Khối Pure KhốiEndline Khối Emulating Pure Khốibaobởi Begin-end
10 KhốiPure A B C D
11 Khối Endline A B C D
12 Khối Emulating Pure Begin A B C end D
13 Khối bao bởi Begin-end Begin end A B C D
14 Khối nào là tốt nhất Khối Endline  Tồi nhất Khối Pure  Thích hợp với ADA, VB, … Khối Begin-End  Thích hợp với C, Pascal, … Khối Emulating Pure  Có thể dùng cho cả ADA, VB, C, Pascal, …
15 Các kỹ năng khác Sử dụng các dòng trống giữa các đoạn chương trình Định dạng các khối lệnh đơn phù hợp Đối với các biểu thức phức tạp hãy đặt từng điều kiện trên từng dòng riêng (VD) Tránh Goto
16 Độ dài mỗi dòng lệnh  Nguyên tắc chung đưa ra cho giới hạn về độ dài mỗi dòng lệnh thường không quá 80 ký tự. Sau đây là một số lý do Các dòng có quá 80 ký tự rất khó theo dõi Giới hạn 80 ký tự trong một dòng không làm cản trở tới các vòng lệnh xếp chồng (như lệnh lặp, lệnh điều kiện...) Các dòng dài quá 80 ký tự không thích hợp với khổ giấy in 8.5x11 Các khổ giấy khác rất khó gộp trong file
17 Sử dụng các dấu cách cho rõ ràng Sử dụng dấu cách làm cho các biểu thức logic dễ đọc Sử dụng dấu cách làm cho dễ so sánh
18 Ví dụ EmployeeName =  InputName EmployeeSalary =  InputSalary EmployeeBirthdate	=  InputBirthdate BossTitle =  Title BossDept =  Department EmployeeName		=  InputName EmployeeSalary		=  InputSalary EmployeeBirthdate	=  InputBirthdate BossTitle			=  Title BossDept			=  Department
19 Chỉ sử dụng một dòng đối với một dòng lệnh Đặt mỗi lệnh trên một dòng sẽ không làm mất đi cấu trúc của các lệnh phức hợp Tạo cho ta cảm giác đơn giản hơn dễ theo dõi Khi bạn cần tìm một dòng lệnh đặc biệt chỉ cần nhìn theo lề bên trái của đoạn mã Rất dễ kiểm soát lỗi (khi biết dòng lỗi)
20 Trong C, tránh Side effects Printf(“%d  %d ”, ++n, n+2);  ++n; Printf(“%d  %d ”, n , n+2);
21 Cách trình bầy các dữ liệu khai báo		 Sắp xếp thẳng hàng đối với các dữ liệu khai báo Chỉ khai báo một dữ liệu khai báo trên một dòng Thứ tự khai báo rõ ràng
22 Trình bầy các thủ tục Sử dụng các dòng cách để phân chia các phần của thủ tục Thụt các thủ tục vào với số đếm chuẩn void   InsertionSort() {	 	int	FirstElmt; 	int	LastElmt; }
23 Chú thích (Comment) Chú thích hay không chú thích? Tác dụng của chú thích trong chương trình
24 Tác dụng của chú thích trong chương trình Khi kỹ năng viết chú thích chưa tốt Các lời chú thích cho chương trình chiếm mất rất nhiều thời gian Lời chú thích rất khó thay đổi Các từ ngữ được dùng vào để giải thích rất khó diễn đạt được hết Khi kỹ năng viết chú thích tốt Làm chương trình trong sáng, dễ đọc, dễ hiểu Thể hiện tốt cấu trúc chương trình
25 Lợi ích của việc trình bầy cẩn thận Thể hiện tốt cấu trúc lôgic của mã lệnh Cải thiện khả năng đọc Bảo đảm sự chính xác trong các thay đổi Các lợi ích hệ quả của các lợi ích trên Tiết kiệm thời gian sửa lỗi Tăng khả năng làm việc theo nhóm, …
26 Tóm tắt Bạn đã hiểu được thế nào PC PC của Steve McConnell Lợi ích của việc tuân theo một PC tốt
27 Vậy các bạn thu được gì qua buổi ngày hôm nay?
Thực hành Bài tập Kết quả 28

More Related Content

Similar to Code convention

How to write good code
How to write good code How to write good code
How to write good code Minh Hoang
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.netHung Pham
 
2 kien truc phan mem
2 kien truc phan mem2 kien truc phan mem
2 kien truc phan memLy hai
 
C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)Nguyễn Phụng
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXLThân Khương
 
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớnCode Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớnNhật Nguyễn Khắc
 
Ky thuat lap trinh c++
Ky thuat lap trinh c++Ky thuat lap trinh c++
Ky thuat lap trinh c++ptquang160492
 
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Informatics and Maths
 
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Tấn Nhật
 
86227349 giao-trinh-lap-trinh-c
86227349 giao-trinh-lap-trinh-c86227349 giao-trinh-lap-trinh-c
86227349 giao-trinh-lap-trinh-cHoa Cỏ May
 
Ngan hang he thong nhung
Ngan hang he thong nhungNgan hang he thong nhung
Ngan hang he thong nhungCao Toa
 
Bài 5: Thiết kế giao diện - Giáo trình FPT
Bài 5: Thiết kế giao diện - Giáo trình FPTBài 5: Thiết kế giao diện - Giáo trình FPT
Bài 5: Thiết kế giao diện - Giáo trình FPTMasterCode.vn
 
tin học lớp 7
tin học lớp 7tin học lớp 7
tin học lớp 7Yến Nhỏ
 
Tin học lớp 8
Tin học lớp 8Tin học lớp 8
Tin học lớp 8Yến Nhỏ
 

Similar to Code convention (20)

Ch assembly
Ch assemblyCh assembly
Ch assembly
 
How to write good code
How to write good code How to write good code
How to write good code
 
Giáo trình vb.net
Giáo trình vb.netGiáo trình vb.net
Giáo trình vb.net
 
2 kien truc phan mem
2 kien truc phan mem2 kien truc phan mem
2 kien truc phan mem
 
Tin 8
Tin 8Tin 8
Tin 8
 
C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)
 
lap trinh assembly cho VXL
lap trinh  assembly cho VXLlap trinh  assembly cho VXL
lap trinh assembly cho VXL
 
HMI.pptx
HMI.pptxHMI.pptx
HMI.pptx
 
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớnCode Refactoring: Thay đổi nhỏ - Lợi ích lớn
Code Refactoring: Thay đổi nhỏ - Lợi ích lớn
 
Ky thuat lap trinh c++
Ky thuat lap trinh c++Ky thuat lap trinh c++
Ky thuat lap trinh c++
 
C++ dai hoc cong nghe
C++ dai hoc cong ngheC++ dai hoc cong nghe
C++ dai hoc cong nghe
 
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
 
Ngon ngu lap trinh c&c++
Ngon ngu lap trinh c&c++Ngon ngu lap trinh c&c++
Ngon ngu lap trinh c&c++
 
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
Ngon ngu lap trinh c&c++ (pham hong thai coltech vnu)
 
86227349 giao-trinh-lap-trinh-c
86227349 giao-trinh-lap-trinh-c86227349 giao-trinh-lap-trinh-c
86227349 giao-trinh-lap-trinh-c
 
Ngan hang he thong nhung
Ngan hang he thong nhungNgan hang he thong nhung
Ngan hang he thong nhung
 
Bài 5: Thiết kế giao diện - Giáo trình FPT
Bài 5: Thiết kế giao diện - Giáo trình FPTBài 5: Thiết kế giao diện - Giáo trình FPT
Bài 5: Thiết kế giao diện - Giáo trình FPT
 
9 ngon ngu_lap_trinh
9 ngon ngu_lap_trinh9 ngon ngu_lap_trinh
9 ngon ngu_lap_trinh
 
tin học lớp 7
tin học lớp 7tin học lớp 7
tin học lớp 7
 
Tin học lớp 8
Tin học lớp 8Tin học lớp 8
Tin học lớp 8
 

Recently uploaded

Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1mskellyworkmail
 
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...lamluanvan.net Viết thuê luận văn
 
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG   CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG   CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...lamluanvan.net Viết thuê luận văn
 
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...lamluanvan.net Viết thuê luận văn
 
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...lamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...lamluanvan.net Viết thuê luận văn
 
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptxsongtoan982017
 
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháp
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi phápTóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháp
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháplamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...lamluanvan.net Viết thuê luận văn
 
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...lamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...lamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...lamluanvan.net Viết thuê luận văn
 
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...lamluanvan.net Viết thuê luận văn
 
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...songtoan982017
 
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...lamluanvan.net Viết thuê luận văn
 
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdf
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdfTiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdf
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdfchimloncamsungdinhti
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...Nguyen Thanh Tu Collection
 
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh AnPhân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh Anlamluanvan.net Viết thuê luận văn
 
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptx
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptxNGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptx
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptxsongtoan982017
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1Everybody Up 1 - Unit 5 - worksheet grade 1
Everybody Up 1 - Unit 5 - worksheet grade 1
 
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...
Báo cáo tốt nghiệp Hoàn thiện công tác đào tạo và phát triển nguồn nhân lực c...
 
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG   CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG   CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...
PHONG TRÀO “XUNG KÍCH, TÌNH NGUYỆN VÌ CUỘC SỐNG CỘNG ĐỒNG” CỦA ĐOÀN TNCS HỒ...
 
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...
Báo cáo bài tập nhóm môn Văn hóa kinh doanh và tinh thần khởi nghiệp Trình bà...
 
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...
Thực trạng ứng dụng công nghệ trong lĩnh vực giống cây trồng: Nghiên cứu điển...
 
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường từ ô nhiễm hữu cơ nước thải các...
 
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx
4.NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 3.pptx
 
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháp
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi phápTóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháp
Tóm tắt luận văn Hệ thống ca dao than thân người Việt từ góc nhìn thi pháp
 
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...
Báo cáo tốt nghiệp Đánh giá rủi ro quá trình xử lí nước cấp tại Chi nhánh Cấp...
 
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...
Quản lý dạy học phân hóa môn Toán tại các trường trung học cơ sở huyện Tam D...
 
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...
Báo cáo tốt nghiệp Đánh giá rủi ro môi trường ô nhiễm hữu cơ trong nước thải ...
 
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...
Báo cáo tốt nghiệp Phát triển sản phẩm thẻ tại Ngân hàng thương mại cổ phần K...
 
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
Báo cáo tốt nghiệp Đánh giá thực trạng an toàn vệ sinh lao động và rủi ro lao...
 
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
NHKTS SLIDE B2 KHAI NIEM FINTECH VA YEU TO CUNG CAU DOI MOI TRONG CN_GV HANG ...
 
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
 
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdf
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdfTiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdf
Tiểu luận triết học_Nguyễn Gia Nghi_QHCCCLC_11230120.pdf
 
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
40 ĐỀ LUYỆN THI ĐÁNH GIÁ NĂNG LỰC ĐẠI HỌC QUỐC GIA HÀ NỘI NĂM 2024 (ĐỀ 31-39)...
 
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh AnPhân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
Phân tích báo cáo tài chính tại công ty TNHH xây dựng và thương mại Thịnh An
 
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptx
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptxNGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptx
NGÂN HÀNG KĨ THUẬT SỐ-slide CHƯƠNG 1 B 1 2024.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Code convention

  • 1. 1 Programming Convention Presenter : Nguyễn Bảo Trung
  • 2. 2 Nội dung Tổngquanvề Programming Convention Mộtsốphongcáchlậptrìnhcũ Đánhgiácácthóiquencũ Cácquytắcviết code của Steve McConnell Lợiíchcủaviệctrìnhbầycẩnthận
  • 3. 3 Tổngquanvề Programming Convention (PC) Viết code nhưthếnào? Cáchviết code cóảnhhưởngđếnkhảnăngtưduyvàhiệusuấtlàmviệckhông? Bài test Bàitập 1 Bàitập 2
  • 4. 4 Tổngquanvề Programming Convention (Continue) Cáchviết code ảnhhưởngrấtlớnđếnkhảnăngtưduyvàhiệusuâtlàmviệc Cầnphảiviết code theokiểugìđểtăngkhảnăngtưduyvàhiệusuấtlàmviệc? Viết code theochuẩn Thêmchúthíchcầnthiết, theochuẩn PC thểhiệnbởicáchviết code và comment PC tốtlàcáchviết code và comment theochuẩn Nếukhôngviếttheochuẩnthìsao?
  • 5. 5 Mộtsốphongcáchlậptrìnhcũ Khôngcóchuẩn Thíchviếtgìthìviếttuỳtheohứng Khôngcómột logic tổngthểtrongcáchtrìnhbàychươngtrình Tựđặtramộtsốquytắcviết Tiếtkiệmdòng Tiếtkiệmcột Lãngphídòng Lãngphícột Đãcóchuẩnnhưngchưathựcsựtốt
  • 6. 6 Đánhgiácácthóiquencũ Dễviết, thuậnmắt (theocảmtính) Khôngnhanhnhưtanghĩ Dễgâynhầmlẫn Luônthừathiếu Begin…End Rấtkhóđọchiểu Cónhiềulỗi do hiệuứngphụ(Side effects) Rấtkhóvàmấtnhiềuthờigianchoviệcsửalỗi
  • 7. 7 Cácquytắcviết code của Steve McConnell Địnhlýcơsởcủađịnhdạng Cơsởlýthuyếtcủađịnhdạnglàcáchtrìnhbầyrõràng, sángsủanổibậtđượccấutrúc logic củachươngtrình Chuẩnmựcchocáchtrìnhbầychươngtrìnhcóhiệuquả Mộtphầnnhỏtronglậptrìnhlàđểmáytínhcóthểđọcđượcnó Phầnlớnhơnlàviếtcácmãlệnhchochươngtrìnhchạyđượctheođúngchứcnăngvàlàmsaođể con ngườicóthểđọcđượcnó
  • 8. 8 Cáckỹnăngtrìnhbầy Dấutrắng (dấucách, dấu Tab, xuốngdòng, dòngtrắng,…) Phânnhóm Dòngtrống Sắpxếpthẳnghàng Thụtvào Sửdụngcácdấungoặcđơn Thêmchúthíchvàochươngtrình
  • 9. 9 Cáckiểutrìnhbầy Khối Pure KhốiEndline Khối Emulating Pure Khốibaobởi Begin-end
  • 11. 11 Khối Endline A B C D
  • 12. 12 Khối Emulating Pure Begin A B C end D
  • 13. 13 Khối bao bởi Begin-end Begin end A B C D
  • 14. 14 Khối nào là tốt nhất Khối Endline Tồi nhất Khối Pure Thích hợp với ADA, VB, … Khối Begin-End Thích hợp với C, Pascal, … Khối Emulating Pure Có thể dùng cho cả ADA, VB, C, Pascal, …
  • 15. 15 Các kỹ năng khác Sử dụng các dòng trống giữa các đoạn chương trình Định dạng các khối lệnh đơn phù hợp Đối với các biểu thức phức tạp hãy đặt từng điều kiện trên từng dòng riêng (VD) Tránh Goto
  • 16. 16 Độ dài mỗi dòng lệnh Nguyên tắc chung đưa ra cho giới hạn về độ dài mỗi dòng lệnh thường không quá 80 ký tự. Sau đây là một số lý do Các dòng có quá 80 ký tự rất khó theo dõi Giới hạn 80 ký tự trong một dòng không làm cản trở tới các vòng lệnh xếp chồng (như lệnh lặp, lệnh điều kiện...) Các dòng dài quá 80 ký tự không thích hợp với khổ giấy in 8.5x11 Các khổ giấy khác rất khó gộp trong file
  • 17. 17 Sử dụng các dấu cách cho rõ ràng Sử dụng dấu cách làm cho các biểu thức logic dễ đọc Sử dụng dấu cách làm cho dễ so sánh
  • 18. 18 Ví dụ EmployeeName = InputName EmployeeSalary = InputSalary EmployeeBirthdate = InputBirthdate BossTitle = Title BossDept = Department EmployeeName = InputName EmployeeSalary = InputSalary EmployeeBirthdate = InputBirthdate BossTitle = Title BossDept = Department
  • 19. 19 Chỉ sử dụng một dòng đối với một dòng lệnh Đặt mỗi lệnh trên một dòng sẽ không làm mất đi cấu trúc của các lệnh phức hợp Tạo cho ta cảm giác đơn giản hơn dễ theo dõi Khi bạn cần tìm một dòng lệnh đặc biệt chỉ cần nhìn theo lề bên trái của đoạn mã Rất dễ kiểm soát lỗi (khi biết dòng lỗi)
  • 20. 20 Trong C, tránh Side effects Printf(“%d %d ”, ++n, n+2); ++n; Printf(“%d %d ”, n , n+2);
  • 21. 21 Cách trình bầy các dữ liệu khai báo Sắp xếp thẳng hàng đối với các dữ liệu khai báo Chỉ khai báo một dữ liệu khai báo trên một dòng Thứ tự khai báo rõ ràng
  • 22. 22 Trình bầy các thủ tục Sử dụng các dòng cách để phân chia các phần của thủ tục Thụt các thủ tục vào với số đếm chuẩn void InsertionSort() { int FirstElmt; int LastElmt; }
  • 23. 23 Chú thích (Comment) Chú thích hay không chú thích? Tác dụng của chú thích trong chương trình
  • 24. 24 Tác dụng của chú thích trong chương trình Khi kỹ năng viết chú thích chưa tốt Các lời chú thích cho chương trình chiếm mất rất nhiều thời gian Lời chú thích rất khó thay đổi Các từ ngữ được dùng vào để giải thích rất khó diễn đạt được hết Khi kỹ năng viết chú thích tốt Làm chương trình trong sáng, dễ đọc, dễ hiểu Thể hiện tốt cấu trúc chương trình
  • 25. 25 Lợi ích của việc trình bầy cẩn thận Thể hiện tốt cấu trúc lôgic của mã lệnh Cải thiện khả năng đọc Bảo đảm sự chính xác trong các thay đổi Các lợi ích hệ quả của các lợi ích trên Tiết kiệm thời gian sửa lỗi Tăng khả năng làm việc theo nhóm, …
  • 26. 26 Tóm tắt Bạn đã hiểu được thế nào PC PC của Steve McConnell Lợi ích của việc tuân theo một PC tốt
  • 27. 27 Vậy các bạn thu được gì qua buổi ngày hôm nay?
  • 28. Thực hành Bài tập Kết quả 28